﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class KuluOsa : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKuluOsa {
        
        private System.Decimal? @__osaSumma;
        
        private System.Int64? @__valuutaKL;
        
        private System.DateTime? @__algusKP;
        
        private global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsaline @__osaline;
        
        private System.Boolean? @__onRiigiOsa;
        
        private System.DateTime? @__sulgemiseKP;
        
        public KuluOsa() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public KuluOsa(System.Decimal? @osaSumma, System.Int64? @valuutaKL, System.DateTime? @algusKP, global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsaline @osaline, System.Boolean? @onRiigiOsa, System.DateTime? @sulgemiseKP) {
            this.@__osaSumma = @osaSumma;
            this.@__valuutaKL = @valuutaKL;
            this.@__algusKP = @algusKP;
            this.@__osaline = @osaline;
            this.@__onRiigiOsa = @onRiigiOsa;
            this.@__sulgemiseKP = @sulgemiseKP;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected KuluOsa(IKuluOsa @kuluOsa) {
            this.@__osaSumma = @kuluOsa.OsaSumma;
            this.@__valuutaKL = @kuluOsa.ValuutaKL;
            this.@__algusKP = @kuluOsa.AlgusKP;
            this.@__osaline = @kuluOsa.Osaline;
            this.@__onRiigiOsa = @kuluOsa.OnRiigiOsa;
            this.@__sulgemiseKP = @kuluOsa.SulgemiseKP;
        }
        
        public virtual System.Decimal? OsaSumma {
            get {
                return this.@__osaSumma;
            }
            set {
                this.@__osaSumma = value;
            }
        }
        
        public virtual System.Int64? ValuutaKL {
            get {
                return this.@__valuutaKL;
            }
            set {
                this.@__valuutaKL = value;
            }
        }
        
        public virtual System.DateTime? AlgusKP {
            get {
                return this.@__algusKP;
            }
            set {
                this.@__algusKP = value;
            }
        }
        
        public virtual global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOsaline Osaline {
            get {
                return this.@__osaline;
            }
            set {
                this.@__osaline = value;
            }
        }
        
        public virtual System.Boolean? OnRiigiOsa {
            get {
                return this.@__onRiigiOsa;
            }
            set {
                this.@__onRiigiOsa = value;
            }
        }
        
        public virtual System.DateTime? SulgemiseKP {
            get {
                return this.@__sulgemiseKP;
            }
            set {
                this.@__sulgemiseKP = value;
            }
        }
    }
}
